package com.koron.car.web.authorized.service;

import com.koron.car.web.authorized.bean.entity.CarDelimit;
import com.koron.car.web.authorized.bean.entity.CarNumberBind;
import com.koron.car.web.authorized.bean.vo.CarDelimitMsgVO;
import org.koron.ebs.mybatis.SessionFactory;

import java.util.List;

/**
 * (CarDelimit)表服务接口
 *
 * @author makejava
 * @since 2022-04-06 14:42:11
 */
public interface CarDelimitService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    CarDelimit queryById(SessionFactory factory, String id);

    /**
     * 列表查询
     * @param delimit 筛选条件
     * @return 查询结果
     */
    List<CarDelimit> queryList(SessionFactory factory, CarDelimit delimit);

    /**
     * 新增数据
     * @param delimit 实例对象
     * @return 实例对象
     */
    CarDelimit insert(SessionFactory factory, CarDelimit delimit);

    /**
     * 修改数据
     * @param delimit 实例对象
     * @return 实例对象
     */
    CarDelimit update(SessionFactory factory, CarDelimit delimit);

    int saveOrUpdate(SessionFactory factory, List<CarDelimit> delimits);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(SessionFactory factory, String id);

    int clean(SessionFactory factory);

    List<CarDelimitMsgVO> getDelimitNum(SessionFactory factory, String type, String state);

    CarNumberBind bind(SessionFactory factory, CarNumberBind bind);

    CarNumberBind getBindById(SessionFactory factory, String bindId);

}
